uses\r
gnugettext, TypInfo, delphi, \r
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,\r
- StdCtrls, Buttons, ExtCtrls, \r
+ StdCtrls, Buttons, ExtCtrls,\r
common, utils, ImgList, ActnList, Menus, ComCtrls, ToolWin;\r
\r
type\r
procedure HandleParams;\r
procedure HistoryChanged(Box: TComboBox; Swap: Boolean = False);\r
procedure InitCombo(Target: TComboBox; IsInput, ForDevice: Boolean);\r
+ procedure InitializeSerialPorts;\r
procedure LoadLanguages;\r
procedure LoadFileFormats;\r
procedure LoadVersion;\r
// ? valid README form\r
s := ExtractFilePath(ParamStr(0)) + 'gpsbabel.html';\r
acHelpReadme.Enabled := FileExists(s) or (frmReadme.Memo.Lines.Count > 0);\r
+\r
+ InitializeSerialPorts;\r
end;\r
\r
procedure TfrmMain.InitCombo(Target: TComboBox; IsInput, ForDevice: Boolean);\r
if mnuSynthesizeShortNames.Checked then cmdline := cmdline + ' -s';\r
\r
if chbInputDevice.Checked then\r
- s := SysUtils.AnsiLowerCase(cbInputDevice.Text) + ':'\r
- else begin\r
+ begin\r
+ s := SysUtils.AnsiLowerCase(cbInputDevice.Text) + ':';\r
+// if (s = 'usb:') then\r
+// s := s + '-1';\r
+ end\r
+ else\r
+ begin\r
s := edInputFile.Text;\r
if not(FileExists(s)) then\r
raise eGPSBabelError.CreateFmt(_('File %s not found.'), [s]);\r
begin\r
if (cbOutputDevice.Text = 'SCREEN') then\r
s := '-'\r
- else\r
- s := cbOutputDevice.Text + ':'\r
+ else begin\r
+ s := AnsiLowerCase(cbOutputDevice.Text + ':');\r
+// if (s = 'usb:') then\r
+// s := s + '-1';\r
+ end;\r
end\r
else begin\r
s := edOutputFile.Text;\r
\r
l := TStringList.Create;\r
try\r
- if not gpsbabel('-p "" -V', l) then Exit;\r
+\r
+ try\r
+ if not gpsbabel('-p "" -V', l) then\r
+ PostMessage(Self.Handle, WM_QUIT, 0, 0);\r
+ except\r
+ on E: Exception do\r
+ begin\r
+ ShowException(E, nil);\r
+ PostMessage(Self.Handle, WM_QUIT, 0, 0);\r
+ end;\r
+ end;\r
\r
for i := 0 to l.Count - 1 do\r
begin\r
CheckInput;\r
end;\r
\r
+procedure TfrmMain.InitializeSerialPorts;\r
+var\r
+ port: string;\r
+ i: Integer;\r
+ config: TCommConfig;\r
+ cfsize: DWORD;\r
+begin\r
+ for i := 1 to MAX_NO_OF_SERIAL_PORTS do\r
+ begin\r
+ port := Format('COM%d', [i]);\r
+ cfsize := sizeof(config);\r
+ if GetDefaultCommConfig(PChar(port), config, cfsize) then\r
+ begin\r
+ cbInputDevice.Items.Add(Format('COM%d', [i]));\r
+ cbOutputDevice.Items.Add(Format('COM%d', [i]));\r
+ end;\r
+ end;\r
+end;\r
+\r
end.\r